﻿using System;
using OpenCvSharp;
using TemplateMaker;
using ObjectDetector;
using DaHeng;
namespace Launcher
{
    class Program
    {
        static void Main(string[] args)
        {
            // 模板制作测试代码

            // var background = Cv2.ImRead("autobackground.bmp");
            // var template = Cv2.ImRead("autotemplate.bmp");
            //
            // var maker = new TemplateMaker.Maker();
            // maker.MakeMask(background, template);

            // 单次 Hu矩匹配测试代码

            var template = Cv2.ImRead("test/autotemplate.bmp");
            var image = Cv2.ImRead("test/test3.8.bmp");
            
            var detector = new ObjectDetector.Detector();
            detector.SetTemplate( template);
            
            detector.Execute(image);
            

            // 大恒相机测试代码

            // var DahengCamera = new DaHeng.GalaxyCamera();
            // DahengCamera.Open();
            // DahengCamera.SetGain(22);
            // DahengCamera.SetExposure(3000);
            // while (true)
            // {
            //     
            //      
            //     Mat origin_picture = DahengCamera.GetPicture();
            //     Cv2.CvtColor(origin_picture,origin_picture,ColorConversionCodes.BayerGR2RGB);
            //     Cv2.ImShow("win",origin_picture);
            //     Cv2.WaitKey(1);
            // }
            
            // 综合测试代码
            // var DahengCamera = new DaHeng.GalaxyCamera();
            // var template = Cv2.ImRead("test/template2.bmp");
            //
            // var detector = new ObjectDetector.Detector();
            // detector.SetTemplate( template);
            //
            //
            // DahengCamera.Open();
            // DahengCamera.SetGain(30);
            // DahengCamera.SetExposure(15000);
            // while (true)
            // {
            //     Mat origin_picture = DahengCamera.GetPicture();
            //     Cv2.CvtColor(origin_picture,origin_picture,ColorConversionCodes.BayerGR2RGB);
            //     detector.Execute(origin_picture);
            // }
        }
    }
}